Initialize files for exporting output results
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
character(len=*), | intent(in) | :: | path_out |
path of output folder |
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
real(kind=float), | public | :: | area |
(km2) |
|||
integer(kind=short), | public | :: | i | ||||
integer(kind=short), | public | :: | j | ||||
integer(kind=short), | public | :: | nvars |
SUBROUTINE GroundwaterOutputInit & ! ( path_out ) IMPLICIT NONE !Arguments with intent (in): CHARACTER (LEN = *), INTENT(IN) :: path_out !!path of output folder !local declarations REAL (KIND = float) :: area !! (km2) INTEGER (KIND = short) :: i, j INTEGER (KIND = short) :: nvars !----------------------------------end of declarations------------------------- !compute groundwater extent area area = 0. DO i = 1, basin % aquifer (1) % domainBC % idim DO j = 1, basin % aquifer (1) % domainBC % jdim IF (basin % aquifer (1) % domainBC % mat (i,j) == ACTIVE_CELL ) THEN area = area + CellArea ( basin % aquifer (1) % domainBC, i, j ) END IF END DO END DO area = area / 1000000. !conversion m2 -> km2 !number of variables to write in output file nvars = basin % nAquifers + 5 IF ( riverGroundwaterInteract ) THEN nvars = nvars + 2 END IF !open and initialize file fileUnitOutGW = GetUnit () OPEN ( unit = fileUnitOutGW, file = TRIM(path_out) // 'aquifer.out' ) WRITE (fileUnitOutGW,'(a)') 'Output variables of groundwater simulation' WRITE (fileUnitOutGW,fmt = '(a, F12.2)') 'extent area (km2): ', area WRITE (fileUnitOutGW,fmt = '(a, I3)') 'number of variables: ', nvars WRITE (fileUnitOutGW,*) WRITE (fileUnitOutGW,*) WRITE (fileUnitOutGW,'(a)') 'data' WRITE (fileUnitOutGW,'(a)', advance='no') 'DateTime ' DO i = 1, basin % nAquifers WRITE (fileUnitOutGW,'(a)', advance='no') 'head_aquifer_' // & TRIM(ToString(i)) // '_m' END DO IF ( riverGroundwaterInteract ) THEN WRITE (fileUnitOutGW,'(a)') ' recharge_m3 volume_neumann_m3 & volume_dirichlet_m3 volume_change_m3 residual_m3 & river_to_groundwater_m3 groundwater_to_river_m3 ' ELSE WRITE (fileUnitOutGW,'(a)') ' recharge_m3 volume_neumann_m3 & volume_dirichlet_m3 volume_change_m3 residual_m3 ' END IF RETURN END SUBROUTINE GroundwaterOutputInit